home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / lib / powerd_lib.lha / PowerD / RealStr_ieee.ass < prev    next >
Encoding:
Text File  |  2000-02-29  |  1.9 KB  |  95 lines

  1.     machine    mc68020
  2. *******************************************************************************
  3. * name           offset
  4. * buf            0
  5. * rest           24
  6. * top            28
  7. * d              32
  8. * args
  9. * str            56
  10. * f              48
  11. * n              44
  12.     xdef    _RealStr
  13. _RealStr
  14.     lea    (-40,a7),a7
  15.     movem.l    a0-a1,-(a7)
  16.     move.l    fp0,-(a7)
  17.     move.l    fp0+4,-(a7)
  18.     move.l    (48+16+0,a7),fp0
  19.     move.l    (48+16+4,a7),fp0+4
  20.     move.l    fp0,(32+16+0,a7)
  21.     move.l    fp0+4,(32+16+4,a7)
  22.     move.l    (32+16+0,a7),fp0
  23.     move.l    (32+16+4,a7),fp0+4
  24.     move.l    (32+16+0,a7),fp0
  25.     move.l    (32+16+4,a7),fp0+4
  26.     move.l    fp0,(32+16+0,a7)
  27.     move.l    fp0+4,(32+16+4,a7)
  28.     move.l    (32+16+0,a7),fp0
  29.     move.l    (32+16+4,a7),fp0+4
  30.     movem.l    d0-d3/a0-a1/a6,-(a7)
  31.     move.l    fp0,d0
  32.     move.l    fp0+4,d1
  33.     move.l    #$41CDCD65,d2
  34.     moveq    #0,d3
  35.     movea.l    _MathIEEEDoubBasBase,a6
  36.     jsr    (-78,a6)
  37.     move.l    d0,fp0
  38.     move.l    d1,fp0+4
  39.     movem.l    (a7)+,d0-d3/a0-a1/a6
  40.     move.l    fp0,(32+16+0,a7)
  41.     move.l    fp0+4,(32+16+4,a7)
  42.     move.l    (32+16+0,a7),fp0
  43.     move.l    (32+16+4,a7),fp0+4
  44. if0
  45.     move.l    (48+16+0,a7),fp0
  46.     move.l    (48+16+4,a7),fp0+4
  47.     movem.l    d0-d3/a0-a1/a6,-(a7)
  48.     move.l    fp0,d0
  49.     move.l    fp0+4,d1
  50.     moveq    #0,d2
  51.     moveq    #0,d3
  52.     movea.l    _MathIEEEDoubBasBase,a6
  53.     jsr    (-42,a6)
  54.     move.l    d0,fpcc
  55.     movem.l    (a7)+,d0-d3/a0-a1/a6
  56.     fbge    end0
  57.     move.l    (28+16+0,a7),d0
  58.     
  59.     move.l    d0,(28+16+0,a7)
  60. end0
  61.     move.l    (24+16+0,a7),-(a7)
  62.     move.l    (28+16+4,a7),-(a7)
  63.     lea    str0,a0
  64.     move.l    a0,-(a7)
  65.     lea    (0+16+12,a7),a0
  66.     move.l    a0,-(a7)
  67.     bsr    _StringF
  68.     lea    (16,a7),a7
  69.     movea.l    (56+16+0,a7),a0
  70.     lea    (0+16+0,a7),a1
  71.     move.l    a1,-(a7)
  72.     move.l    a0,-(a7)
  73.     lea    (0+16+8,a7),a0
  74.     bsr    _StrLen
  75.     movea.l    (a7)+,a0
  76.     movea.l    (a7)+,a1
  77.     subi.l    #9,d0
  78.     add.l    (44+16+0,a7),d0
  79.     bsr    _StrCopy
  80. RealStrend
  81.     move.l    (56+16+0,a7),d0
  82. RealStrfinish
  83.     move.l    (a7)+,fp0+4
  84.     move.l    (a7)+,fp0
  85.     movem.l    (a7)+,a0-a1
  86.     lea    (40,a7),a7
  87.     rts
  88.     xref    _StrCopy
  89.     xref    _StringF
  90.     xref    _StrLen
  91.     xref    _MathIEEEDoubBasBase
  92.     xref    _MathIEEEDoubTransBase
  93.     xref    fp0,fp1,fp2,fp3,fp4,fp5,fp6,fp7,fpcc
  94. str0    dc.b    "%ld.%09.9ld",0
  95.